package com.seven.search;

import org.elasticsearch.client.transport.TransportClient;

/**
 * 
 * @类名: ElasticsearchFactory
 * @描述: 用枚举的方式进行线程安全的创建搜索引擎的工厂的创建
 * @作者: zfh
 * @时间: 2016年12月30日 上午11:42:47
 */
public class ElasticsearchFactory {

	private enum ElasticsearchSingletonEnum {
		singletonFactory;

		private TransportClient instance;

		//枚举能够自动的调用构造函数进行处理
		private ElasticsearchSingletonEnum() {// 枚举类的构造方法在类加载是被实例化
			instance = new ElasticSearchClient().getClient();
		}

		public TransportClient getInstance() {
			return instance;
		}
	}

	public static TransportClient getInstance() {
		return ElasticsearchSingletonEnum.singletonFactory.getInstance();
	}
}
